package com.itheima.demo;

import java.util.ArrayList;
import java.util.LinkedList;

public class Demo_001 {
    public static void main(String[] args) {
        method1();
        //添加到头:数组结构使用了654毫秒;链表结构使用了8毫秒;
        //method2();
        //添加到中间:数组结构使用了352毫秒,链表结构使用了6448毫秒;
        //method3();
        //添加到末尾:数组结构使用了11毫秒;链表结构使用了7毫秒
    }

    private static void method3() {
        long start = System.currentTimeMillis();
        ArrayList<Integer> array = new ArrayList<>();
        for(int i = 0; i < 100000; i++) {
            array.add(i);
        }
        long end = System.currentTimeMillis();

        System.out.println("数组结构使用了" + (end - start) + "毫秒");

        long start1 = System.currentTimeMillis();
        LinkedList<Integer> linked = new LinkedList<>();
        for(int i = 0; i < 100000; i++) {
            linked.add(i);
        }
        long end1 = System.currentTimeMillis();

        System.out.println("链表结构使用了" + (end1 - start1) + "毫秒");
    }

    private static void method2() {
        long start = System.currentTimeMillis();
        ArrayList<Integer> array = new ArrayList<>();
        for(int i = 0; i < 100000; i++) {
            array.add(array.size() /2,i);
        }
        long end = System.currentTimeMillis();

        System.out.println("数组结构使用了" + (end - start) + "毫秒");

        long start1 = System.currentTimeMillis();
        LinkedList<Integer> linked = new LinkedList<>();
        for(int i = 0; i < 100000; i++) {
            linked.add(linked.size() / 2,i);
        }
        long end1 = System.currentTimeMillis();

        System.out.println("链表结构使用了" + (end1 - start1) + "毫秒");
    }

    private static void method1() {
        long start = System.currentTimeMillis();
        ArrayList<Integer> array = new ArrayList<>();
        for(int i = 0; i < 100000; i++) {
            array.add(0,i);
        }
        long end = System.currentTimeMillis();

        System.out.println("数组结构使用了" + (end - start) + "毫秒");

        long start1 = System.currentTimeMillis();
        LinkedList<Integer> linked = new LinkedList<>();
        for(int i = 0; i < 100000; i++) {
            linked.add(0,i);
        }
        long end1 = System.currentTimeMillis();

        System.out.println("链表结构使用了" + (end1 - start1) + "毫秒");
    }
}

